//                       .::::.
//                     .::::::::.
//                    :::::::::::
//                 ..:::::::::::'
//              '::::::::::::'
//                .::::::::::
//           '::::::::::::::..
//                ..::::::::::::.
//              ``::::::::::::::::
//               ::::``:::::::::'        .:::.
//              ::::'   ':::::'       .::::::::.
//            .::::'      ::::     .:::::::'::::.
//           .:::'       :::::  .:::::::::' ':::::.
//          .::'        :::::.:::::::::'      ':::::.
//         .::'         ::::::::::::::'         ``::::.
//     ...:::           ::::::::::::'              ``::.
//    ```` ':.          ':::::::::'                  ::::..
//                       '.:::::'                    ':'````..
package com.xw.util;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.map.MapUtil;
import com.google.common.collect.Maps;
import com.xw.model.sdk.WXUnifiedOrderMP;
import com.xw.sdk.wechat.WXPay;
import com.xw.sdk.wechat.WXPayUtil;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;

import javax.enterprise.inject.spi.Bean;
import java.util.Comparator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public class Test {
    public static void main(String[] args) throws Exception {
        WXUnifiedOrderMP mp = new WXUnifiedOrderMP();
        mp.setAppid("1233456");
        mp.setBody("大半年改吧");
        mp.setMch_id("543454");
//        mp.setTotal_fee(1000);
        Map<String, Object> map = BeanUtil.beanToMap(mp);
        Map<String, String> mapStr = Maps.newHashMap();
        for (String key : map.keySet()) {
            String o = (String) map.get(key);
            if (StringUtils.isNotBlank(o)){
                mapStr.put(key,o);
            }
        }

        String sign = WXPayUtil.generateSignedXml(mapStr, "ddd");
        System.out.println(sign);
    }
}
